<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组</title>
</head>
<body>
   <script>
        //1. 定义数组
        let arr1 = [1,2,3];
        console.log(arr1);
        console.log(typeof(arr1));//object

        //2. 定义数组
        let arr2 = new Array(3,4,5);
        console.log(arr2);

        //3. es6
        let arr3 = Array.of(5,6,7);
        console.log(arr3);

        //4. 直接定义一个数组,然后再进行赋值
        let arr4 = new Array();
        arr4[0] = 100;
        arr4[1] = 200;
        console.log(arr4);

        let arr5 = [];
        arr5.push(300);
        arr5.push(500);
        console.log(arr5);

        //3代表的是数组的长度
        let arr6 = new Array(2);
        arr6[0] = 100;
        arr6[1] = 200;
        arr6[2] = 900;//自动扩容
        console.log(arr6);

        console.log(arr6[6]);//undefined

        console.log(arr6.length);//3

        //遍历一个数组
        for(let i=0;i<arr6.length;i++){
            console.log(arr6[i]);
        }
        //foreach
        for(let e in arr6){// e代表的是一个下标.
            console.log(arr6[e]);
        }
        //方法...
        //数组转字符串
        let str=arr6.join(" ");
        console.log(str);

        //数组的拷贝
        let arr7 = [...arr6];
        console.log(arr7);

        //删除数组中的最后一个元素
        console.log(arr7.pop());//返回刚刚删除的元素
        console.log(arr7);

        //返回删除的数组中的第一个元素
        console.log(arr7.shift());
        console.log(arr7);
        console.log("===")

        //插入.
        let arr8 = [100,200,300,400,500];
        //第一个参数 - 插入的位置,从0开始
        //第二个参数 - 删掉的个数,如果是0,表示不删除
        //第三个及其以后的参数 - 新增的元素
        let arr9 = arr8.splice(1,2,8000,9000,5000);
        console.log(arr9);//删除的 - 200,300
        console.log(arr8);//100,8000,9000,5000,400,500

        let m = [1,2,3,4];
       // console.log(m.slice(1,3));//截取下标是[1,3)的元素
        console.log(m);

        //find方法 => 查找数组中符合条件的元素,若有多个符合条件的元素，则返回第一个元素。
        console.log(m.find(e=>e>3));

        console.log(m.includes(3));//true

        //数组的排序
        let x = [3,2,1];

        x.sort(desc);
        
        console.log(x)

        function desc(a,b){
            return b-a;
        }

   </script>
</body>
</html>